The development of the EDVAC computer system of 1948 is often cited as the beginning of the computer era. Since that time, computer systems have evolved into extremely sophisticated devices, and computer systems may be found in many different settings. Computer systems typically include a combination of hardware, such as semiconductors and circuit boards, and software, also known as computer programs. As advances in semiconductor processing and computer architecture push the performance of the computer hardware higher, more sophisticated computer software has evolved to take advantage of the higher performance of the hardware, resulting in computer systems today that are much more powerful than just a few years ago.
Today's more powerful computers are often connected in networks, and a user at one computer, often called a client, may wish to access information at multiple other computers, often called servers, via a network. The network may be a local network that connects computers associated with the same company, e.g., a LAN (Local Area Network), or it may be an external network, such as the Internet or World Wide Web, that connects computers from disparate users and companies. Further, the network may be a combination of local and external networks. Companies typically have multiple computers containing different hardware and software packages, often generically referred to as resources, attached to these networks.
Managing the resources of multiple computers attached to networks is a difficult task. To aid the system administrator with this task, management software is available that manages installing, deploying, and maintaining resources in a complex heterogeneous networked environment. This software typically provides a “console” from which resources of a network of computers may be managed. The console typically receives information regarding the resources from a variety of applications that manage the resources and presents the information in a user interface.
The console typically represents the resources in the user interface as belonging to particular classes or categories, e.g., servers, monitors, messages, databases, jobs, printers, storage devices, processors, or any hardware, software, data, or combination thereof. Each resource has specific logical operations or tasks that can be performed against it, such as powering on or off a server, executing a command, collecting inventory, installing software, configuring the network, scheduling jobs, applying patches, viewing fixes, creating users, or viewing and monitoring the usage and performance of resources, among other functions. Each resource may have associated drill-down data, which provides additional information about the resource, typically via links, which contain addresses of the additional information, wherever it may be in the network.
Hence, the console typically receives information from the various applications in the form of resource identifiers, links, and task identifiers and presents this information via a user interface. Unfortunately, multiple applications may manage the same resource, so the multiple applications may provide not only duplicate resource identifiers, but duplicate links and duplicate task identifiers as well. This duplicate information can clutter the display screen and present a confusing interface for the user. This problem may be exacerbated when the applications that provide the information to the console were written by different third-party vendors, who did not necessarily coordinate their efforts to provide consistent information.
Thus, a need exists for an improved technique to handle duplicate information received from applications regarding resources.